package com.zxb.framework.security.context;

import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import com.zxb.common.core.text.Convert;

/**
 * 权限信息
 * 
 * @author ruoyi
 */
public class PermissionContextHolder
{
    private static final String PERMISSION_CONTEXT_ATTRIBUTES = "PERMISSION_CONTEXT";

    public static void setContext(String permission)
    {
        RequestContextHolder.currentRequestAttributes().setAttribute(PERMISSION_CONTEXT_ATTRIBUTES, permission,
                RequestAttributes.SCOPE_REQUEST);
    }

    public static String getContext()
    {
        return Convert.toStr(RequestContextHolder.currentRequestAttributes().getAttribute(PERMISSION_CONTEXT_ATTRIBUTES,
                RequestAttributes.SCOPE_REQUEST));
    }
}
//
//作用：
//
//        这个类用于保存和获取 权限信息。它保存权限的上下文，让系统中不同的部分可以方便地访问当前请求的权限信息。
//        具体来说，setContext 方法可以将权限信息存储到当前请求的属性中，而 getContext 方法可以从请求中取回权限信息。
//        通俗解释：这就像是在每个请求里放一个小本子，记录用户拥有哪些权限，当其他地方需要知道这个请求的权限时，就翻开这个小本子查看。